Skip to main content

Full text of "USPTO Patents Application 09888458"

See other formats


PHDE000090 




11.04.2001 



Microcontroller 



The invention relates to a microcontroller comprising a command decoder. 

Single-chip microcomputers which are generally used for controlling 
apparatuses and in which CPU, memories and ports are integrated on a chip are understood to 
be microcontrollers. The CPU comprises in known manner a command decoder which 
decodes the loaded commands and performs a run-off control in order that the commands are 
carried out by the computer. 

Microcontrollers are programmed in a machine-dependent assembler 
language. In the known assembler languages, all assembler commands, with the exception of 
the conditional program steps, are executed independently of data. When different operations 
must be performed in dependence upon given data, this is possible in conventional 
microcontrollers only wdth a considerable programming effort. The condition to be realized 
must then be extensively encoded in the assembler. When, for example, generic pointers in a 
high-level language compiler are to be programmed by means of different assembler 
commands dependent on the addressed memory, this requires a high programming effort or, 
by substitution, a considerable number of hardware components for reconfiguring the 
memory. 

Based on this background, it is an object of the present invention to improve a 
microcontroller of the type described in the opening paragraph as regards its functionality 
and to simplify the programming. 

This object is achieved by a microcontroller as defined in the characterizing 
part of claim 1 . Advantageous embodiments are defined in the dependent claims. 

The microcontroller comprises a command decoder as well as at least one 
memory to which the command decoder has direct access. The command decoder is adapted 
to decode at least one conditional command, the result of the decoding of the conditional 
command depending on the contents of the memory to which the decoder has access. When 
the command decoder thus loads a conditional command, it checks the contents of the 
memory to which it has access and, in dependence upon the result of this check, it supplies a 
machine command from a series of possible machine commands, which are associated with 



PHDE000090 

2 11.04.2001 
the loaded conditional command, to the computer. The memory, to which the microcontroller 
has access, may be particularly a register which is present on the microcontroller. 

Due to its mode of operation, the microcontroller according to the invention 
allows a considerably greater flexibility in its use and in programming without extensive 
changes in the structure of the hardware being necessary. A conditional command can be 
used for programming in the same way as conventional assembler commands. When 
executing the program code, it ensures a greater flexibility because the actually performed 
instruction depends on the data which are present at the instant of forming this instmction in 
the memory to which the command decoder has access. 

The memory, to which the command decoder has access, is preferably adapted 
in such a way that it can comprise input data of the microcontroller. Input data of the 
microcontroller may be particularly digital or digitized information supplied by a cormected 
apparatus. 

In accordance with a special embodiment of the invention, the command 
decoder is adapted in such a way that, dependent on the contents of the memory to which the 
command decoder has access, the conditional command is decoded as an access command 
for the computer to different memory types. The access to different memory types, starting 
from the same conditional command, is a frequently occurring situation of use in which the 
embodiment of the microcontroller according to the invention is particularly advantageous. 
Numerous microcontrollers have different assembler commands for access to different 
memories. For example, the microcontroller 80C51 has the command "mov" for moving data 
memory data and the command "move" for code memory data. A generic pointer (for 
example in the high-level language C) which has address-controlled access to the overall 
implemented memory is possible for such microcontrollers with either considerable 
assembler code effort or with additional hardware-supported memory configurations 
(memory mapping). In contrast, the implementation of a data-controlled, conditional 
command with a single program command allows access to all implemented data memories, 
because the relevant desired instruction is decoded in dependence upon the data, for example, 
dependent on the contents of a processor register as a pointer. This operation has the external 
effect of access to a linear memory. It is therefore a great advantage that, for example, 
memory management imits which are provided can be used without any change in spite of 
virtual reconfiguration of the memory. 




PHDE000090 



3 11.04.2001 
The sole Figure diagrammatically shows the elements of a microcontroller 100 
according to the invention. 



f ! 



5 The Figure only shows the arithmetic-logic unit ALU 12 and the command 

decoder 15 as logic components of the microcontroller 100 shown in a very simplified form. 
The ALU 12 and the command decoder 1 5 are connected to a common bus 1 3 to which the 
inputs 10 and outputs 1 1 of the microcontroller are also connected. The conmiand decoder 15 
further has a direct connection 16 with the ALU 12 via which the run-off control is 
1 0 performed. 

According to the invention, the conmiand decoder 1 5 has direct access to a 
memory 14 which may be, for example, a register of the microcontroller. Data of different 
origin, for example, data from an input 10 of the microcontroller, may be loaded into the 
m memory 14. 

if 1 5 The command decoder 1 5 is adapted in such a way that it can perform 

^ conditional commands. In the case of a conditional command, the command decoder 15 

Lri 

m selects one out of a plurality of associated machine commands in dependence upon the 

L contents of the memory 14 and supplies this command to the ALU 12. For example, the 

yl command decoder may supply the command mov or the command move to the ALU in 

20 dependence on the contents of the memory 14. However, in both cases, the starting point is 
the same conditional assembler command so that a distinction in this respect is not required 
during programming. The microcontroller according to the invention thus provides the 
possibility of considerably reducing the progranmiing effort so that both the system 
performance and the code density can be significantly increased with a small mmiber of 
25 additional hardware components. 
Reference numerals: 



30 



100 


microcontroller 


10 


input connection 


11 


output connection 


12 


computer 


13 


bus 


14 


memory 


15 


command decoder 


16 


connection